home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 4: GNU Archives / Linux Cubed Series 4 - GNU Archives.iso / gnu / binutils.7 / binutils / binutils-2.7 / gas / testsuite / lib / gas-dg.exp < prev    next >
Encoding:
Text File  |  1996-07-04  |  1.5 KB  |  56 lines

  1. # Define gas callbacks for dg.exp.
  2.  
  3. load_lib dg.exp
  4.  
  5. # The use of this function is still in a bit of flux.
  6. # It should be theoretically possible to assemble, link, and run a file
  7. # but we currently don't support that.  Assembler testcases aren't usually
  8. # that elaborate anyway.  :-)
  9.  
  10. proc gas-dg-test { prog do_what tool_flags } {
  11.     # FIXME: the gas testsuite doesn't define tmpdir.  Use outdir?
  12.     set output_file "./a.out"
  13.  
  14.     switch $do_what {
  15.     "preprocess" {
  16.     }
  17.     "assemble" {
  18.     }
  19.     "link" {
  20.     }
  21.     "run" {
  22.         # This is the only place where we care if an executable was
  23.         # created or not.  If it was, dg.exp will try to run it.
  24.         catch "exec rm -f $output_file"
  25.     }
  26.     default {
  27.         perror "$do_what: not a valid dg-do keyword"
  28.         return ""
  29.     }
  30.     }
  31.  
  32.     # gas_start prepends $srcdir/$subdir so we must remove it from PROG
  33.     # if present.  First remove extraneous //'s.
  34.     global srcdir subdir
  35.     set dir "$srcdir/$subdir"
  36.     regsub -all "//" $dir "/" dir
  37.     regsub -all "//" $prog "/" prog
  38.     if [string match "$dir/*" $prog] {
  39.     regsub "$dir" $prog "" prog
  40.     }
  41.  
  42.     # FIXME: This should be gas_start but it doesn't set comp_output.
  43.     gas_run $prog $tool_flags ""
  44.  
  45.     return $output_file
  46. }
  47.  
  48. proc gas-dg-prune { system text } {
  49.     #send_user "Before:$text\n"
  50.     regsub -all "(^|\n)\[^\n\]*: Assembler messages:\[^\n\]*" $text "" text
  51.     regsub -all "(^|\n)\[^\n\]*: End of file not at end\[^\n\]*Newline inserted." $text "" text
  52.     #send_user "After:$text\n"
  53.  
  54.     return $text
  55. }
  56.